home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / et / et-2_2.lha / et2.2 / src / SortedOList.h < prev    next >
C/C++ Source or Header  |  1990-12-18  |  853b  |  40 lines

  1. #ifndef SortedOList_First
  2. #ifdef __GNUG__
  3. #pragma once
  4. #endif
  5. #define SortedOList_First
  6.  
  7. #include "ObjList.h"
  8.  
  9. enum SObListFlags {
  10.     SObListAscending    = BIT(eObjLast+2),
  11.     SObListLast         = eObjLast+3
  12. };
  13.  
  14.  
  15. class SortedObjList : public ObjList {
  16.  
  17. protected:
  18.     virtual int CompareObjects(Object *, Object *);
  19.  
  20. public:
  21.     MetaDef(SortedObjList);
  22.  
  23.     SortedObjList(bool as= TRUE);
  24.     bool Ascending()
  25.     { return TestFlag(SObListAscending); };            
  26.  
  27.     ObjPtr Add(ObjPtr a);
  28.  
  29.     //---- overridden to preserve sorting order
  30.     void AddFirst(ObjPtr);                      
  31.     void AddLast(ObjPtr);
  32.               
  33.     void InsertBefore(ObjPtr before, ObjPtr a); 
  34.     void InsertAfter(ObjPtr after, ObjPtr a);   
  35.     void InsertBeforePtr(ObjPtr before, ObjPtr a); 
  36.     void InsertAfterPtr(ObjPtr after, ObjPtr a);   
  37. };
  38.  
  39. #endif SortedOList_First
  40.